package com.cskt.common.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
    * 订单表
    */
@ApiModel(value="com-cskt-entity-ItripHotelOrder")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ItripHotelOrder {
    /**
    * 主键
    */
    @ApiModelProperty(value="主键")
    private Long id;

    /**
    * 用户id
    */
    @ApiModelProperty(value="用户id")
    private Long userId;

    /**
    * 订单类型(0:旅游产品 1:酒店产品 2：机票产品)
    */
    @ApiModelProperty(value="订单类型(0:旅游产品 1:酒店产品 2：机票产品)")
    private Integer orderType;

    /**
    * 订单号
    */
    @ApiModelProperty(value="订单号")
    private String orderNo;

    /**
    * 交易编号
    */
    @ApiModelProperty(value="交易编号")
    private String tradeNo;

    /**
    * 冗余字段 酒店id
    */
    @ApiModelProperty(value="冗余字段 酒店id")
    private Long hotelId;

    /**
    * 冗余字段 酒店名称
    */
    @ApiModelProperty(value="冗余字段 酒店名称")
    private String hotelName;

    /**
    * 房间id
    */
    @ApiModelProperty(value="房间id")
    private Long roomId;

    /**
    * 消耗数量
    */
    @ApiModelProperty(value="消耗数量")
    private Integer count;

    /**
    * 预订天数
    */
    @ApiModelProperty(value="预订天数")
    private Integer bookingDays;

    /**
    * 入住时间
    */
    @ApiModelProperty(value="入住时间")
    private Date checkInDate;

    /**
    * 退房时间
    */
    @ApiModelProperty(value="退房时间")
    private Date checkOutDate;

    /**
    * 订单状态（0：待支付 1:已取消 2:支付成功 3:已消费 4：已点评）
    */
    @ApiModelProperty(value="订单状态（0：待支付 1:已取消 2:支付成功 3:已消费 4：已点评）")
    private Integer orderStatus;

    /**
    * 支付金额
    */
    @ApiModelProperty(value="支付金额")
    private BigDecimal payAmount;

    /**
    * 支付方式:1:支付宝 2:微信 3:到店付
    */
    @ApiModelProperty(value="支付方式:1:支付宝 2:微信 3:到店付")
    private Integer payType;

    /**
    * 联系手机号
    */
    @ApiModelProperty(value="联系手机号")
    private String noticePhone;

    /**
    * 联系邮箱
    */
    @ApiModelProperty(value="联系邮箱")
    private String noticeEmail;

    /**
    * 特殊需求
    */
    @ApiModelProperty(value="特殊需求")
    private String specialRequirement;

    /**
    * 是否需要发票（0：不需要 1：需要）
    */
    @ApiModelProperty(value="是否需要发票（0：不需要 1：需要）")
    private Integer isNeedInvoice;

    /**
    * 发票类型（0：个人 1：公司）
    */
    @ApiModelProperty(value="发票类型（0：个人 1：公司）")
    private Integer invoiceType;

    /**
    * 发票抬头
    */
    @ApiModelProperty(value="发票抬头")
    private String invoiceHead;

    /**
    * 入住人名称
    */
    @ApiModelProperty(value="入住人名称")
    private String linkUserName;

    /**
    * 0:WEB端 1:手机端 2:其他客户端
    */
    @ApiModelProperty(value="0:WEB端 1:手机端 2:其他客户端")
    private Integer bookType;

    /**
    * 预定时间
    */
    @ApiModelProperty(value="预定时间")
    private Date creationDate;

    @ApiModelProperty(value="")
    private Long createdBy;

    /**
    * 支付完成时间
    */
    @ApiModelProperty(value="支付完成时间")
    private Date modifyDate;

    @ApiModelProperty(value="")
    private Long modifiedBy;

    /**
    * 逻辑删除（0:未删除；1：删除）
    */
    @ApiModelProperty(value="逻辑删除（0:未删除；1：删除）")
    private Integer isDeleted;
}